﻿using System;
using App.Entity;
using App.IServices;
using App.IRepository;
using System.Collections.Generic;

/*!
* 文件描述：一切从简，只为了更懒！
*/
namespace App.Services
{
	public partial class Sys_AreaServices : BaseServices<Sys_Area> , ISys_AreaServices
	{
		ISys_AreaRepository _ISys_AreaRepository;
		public Sys_AreaServices(ISys_AreaRepository __ISys_AreaRepository)
		{
			this._ISys_AreaRepository = __ISys_AreaRepository;
			base._IBaseRepository = __ISys_AreaRepository;
		}

        public void DeleteForm(string keyValue)
        {
            if (_ISys_AreaRepository.QueryCount(t => t.ParentId.Equals(keyValue)) > 0)
            {
                throw new Exception("删除失败！操作的对象包含了下级数据。");
            }
            else
            {
                _ISys_AreaRepository.Delete(t => t.Id == keyValue);
            }
        }

        public Sys_Area GetForm(string keyValue)
        {
            return _ISys_AreaRepository.QuerySingle(c => c.Id == keyValue);
        }

        public List<Sys_Area> GetList()
        {
            return _ISys_AreaRepository.QueryAll();
        }

        public void SubmitForm(Sys_Area areaEntity, string keyValue)
        {
            if (!string.IsNullOrEmpty(keyValue))
            {
                areaEntity.Modify(keyValue);
                _ISys_AreaRepository.Update(areaEntity);
            }
            else
            {
                areaEntity.Create();
                _ISys_AreaRepository.Insert(areaEntity);
            }
        }
    }
}